import Taro from "@tarojs/taro";
import { uploadImage, get, post } from "./req";

/////////////////////////////////////////////   工具函数
function objectToQueryString(url:string,obj:object) {
  if (Object.keys(obj).length === 0) {
    return url;
  }
  return url+'?'+Object.entries(obj)
    .map(([key, value]) => `${encodeURIComponent(key)}=${encodeURIComponent(value)}`)
    .join('&');
}

// ///////////////////////////////////// 验证码登录  通用
export async function getCode(data:String) {
  console.log(data);

  return await get(
    "/user/getCode",{params:
      {tel:data}
    });
}
export async function login(data:any) {
  return await post("/user/login", data).then(res => {
    // 存入token
    Taro.setStorageSync('token', res.data.data.token)
    // 存入用户信息
    Taro.setStorageSync('userInfo', res.data.data.userInfo)
    // 存入车辆信息
    Taro.setStorageSync('truckInfo', res.data.data.truckInfo)
    // 刷新页面
    Taro.reLaunch({
      url: '/pages/my/index'
    });
  });
}

// ////////////////////////////////////////////////////////////////////  任务
export async function getTaskType() {
  const url = "/task/type"
  return await get(url, {});
}
export async function taskStatusList() {
  const url = "/task/status"
  return await get(url, {});
}
export async function taskTimeList() {
  const url = "/task/time"
  return await get(url, {});
}
// 获取任务
export async function getTask(data:any) {
  const url = "/task/list"
  return await get(url,data);
}
/////////////////////////////////////////////////////////////////////////
// 修改任务状态
export async function updateTaskStatus(data:any) {
  const url = "/task/update"
  return await post(url,data);
}
// 获取任务详情
export async function getTaskDetail(data:any) {
  const url = "/waybillTask/get"
  return await get(url,data);
}
export async function updateWaybillTaskStatus(data:any) {
  const url = "/waybillTask/update"
  return await get(url,data);
}


///////////////////////////////////////  
// 上传
export async function uploadTask(data:any) {
  return await uploadImage("/task/uploadTask");
}
///////////////////////////////////////////////////////////////////////////     异常
export async function addAbnormal(data:any) {
  const url = "/abnormal/add"
  return await post(url, data);
}
//////////////////////////////////////////////////////////////////////////
// 导出所有方法
export default {
  login,
  getTaskType,
  taskStatusList,
  taskTimeList,
  getTask,
  uploadTask,
};
